目录
- 前言
- 环境搭建
- Selenium模块下载
- webdriver下载
- 实例测试
- 踩坑
- 继续学习
前言
目前在找资料时,由于论坛对新人有些限制,不能访问某些主题,故有了此教程,以此来实现每天自动登录签到来增长积分和威望。
环境搭建
Python + Selenium + Webdriver实现自动登录并签到(后续更新Mac下定时任务)
Selenium模块下载
1 | pip install Selenium |
Webdriver下载
- Chrome驱动地址:https://npm.taobao.org/mirrors/chromedriver,
或http://chromedriver.storage.googleapis.com/index.html - Firefox驱动地址:https://github.com/mozilla/geckodriver/releases
- IE驱动地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
- Safari驱动地址:https://webkit.org/blog/6900/webdriver-support-in-safari-10/
查看Chrome版本
- 打开Chrome浏览器输入:Chrome://settings/help查看当前Chrome版本。
- 下载对应的Chromedriver版本
- 下载地址,见上面的Chrome驱动下载地址。
- 选择Mac系统的Chromedriver
- 直接解压该文件
- 把Chromedriver放在usr/local/bin目录下
- 这个目录是隐藏的,所以随便打开一个Finder,然后Command+Shift+G
- 直接把Chromedriver放进来
- 代码测试 如下图所示,出现‘Chrome正受到自动测试软件的控制’,就说明已经安装成功了。
1
2
3
4
5
6
7# -*- coding:utf-8 -*-
# Author:Burro-CMD
from selenium import WebDriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
实例测试
利用Python + Selenium + Webdriver实现自动登录掌上百科并签到。
代码如下:
1 | import time |
踩坑
- 定位元素的确定
本例中使用到的定位有:
- id定位:
find_element_by_id(“id值”);id属性是唯一的1
driver.find_element__id('mn_N462e')
- name定位
元素的名称,find_element_by_name(“name值”);name属性值在当前页面可以不唯一1
driver.find_element__name('username')
- XPath定位
利用元素属性定位:1
find_element_by_xpath(".//*[@id='Title']"),这里是用的id,也可以用元素其他能够唯一标识的属性,不局限于id、name、class这些;*代表的是标签名,不指定时就可以用*代替
继续学习
- 定位元素的其他方式
- Mac下定时任务
参考网站:
- 利用Python + Selenium实现自动登录签到:
https://cloud.tencent.com/developer/article/1592562 - 手把手教你搭建 Selenuim 自动化环境:
https://mp.weixin.qq.com/s?__biz=MzI5Nzk2ODc0Ng==&mid=2247483847&idx=1&sn=4c034608dd1f3b4555253d36b5daa371&chksm=ecadb4c2dbda3dd431539f4e63ec731080d3ca6c9393c8277ecabed3d5d48c238362673cc2e4&scene=21#wechat_redirect - WebDriver–定位元素的8中方式:https://www.cnblogs.com/i969639/p/11201174.html
- Mac安装Chromedriver: https://www.cnblogs.com/lilyo/p/11959494.html
- Selenium webdriver的环境配置:https://www.cnblogs.com/qq834761298/p/12169476.html